//
//  UIBarButtonItem+Extension.swift
//  大深圳微博01
//
//  Created by shenzhenIOS on 16/4/12.
//  Copyright © 2016年 shenzhenIOS. All rights reserved.
//

import UIKit

extension UIBarButtonItem {
    
    /* 
        便利构造函数:方便创建对象
            1.在分类里面只能使用便利构造函数
            2.便利构造函数最终需要调用一个指定构造函数
            3.调用便利构造函数,要保证调用的这个便利构造函数会调用到指定的构造函数
            4.构造函数,不会省略第一个外部参数名
    */
    /// 创建一个带按钮的UIBarButtonItem
    convenience init(imageName: String, target: AnyObject?, action: Selector) {
        // 创建按钮
        let button = UIButton()
        
        // 设置按钮
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        
        // 创建UIBarButtonItem对象设置customView
        //  public convenience init(customView: UIView),他内部回去调用指定构造函数
        self.init(customView: button)
    }
    
    /// 使用类方法
    class func createBarButtonItem(imageName: String) -> UIBarButtonItem {
        
        // 创建按钮
        let button = UIButton()
        
        // 设置按钮
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        // 创建UIBarButtonItem设置customView,返回回去
        return UIBarButtonItem(customView: button)
    }
}
